iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

SOLID組成:
單一職責原則 Single Responsibility Principle,SRP
開放閉合原則 Open Closed Principle,OCP
里氏替換原則 Liskov Substitution Principle,LSP
● 介面隔離原則 Interface Segregation Principle,ISP
依賴反轉原則 Dependency Inversion Principle,DIP

介面隔離原則
定義:"Clients should not be forced to depend on methods they do not use."
目的:未個別使用方設置專屬功能的介面,避免多個介面間彼此干擾,基於「角色」的介面
可以試著拿Java Collection來看
https://ithelp.ithome.com.tw/upload/images/20220922/20151917Nw86wIxLaQ.jpg
Collection分為Set、List、Queue不同介面,再讓TreeSet、HashSet、Stack、ArrayList、LinkedList、PriorityQueue透過抽象類別實作介面,讓ArrayList不會有Queue方法可使用,讓使用者在調用方法時不會有不相干的功能出現,這樣看起來就跟SRP很像,但SRP以組件角度對特定業務內聚,而ISP以介面角度對角色(client)內聚。

SRP:解決程式碼因業務本質發生耦合的問題。
OCP:找到擴展點透過設計模式或DIP來達成,讓系統易於擴展限制變更影響範圍。
DIP:組件間如何抽象與組織的指導方針。
LSP:降低介面實現與使用方的耦合對系統的影響以保證介面行為的穩定。
ISP:維護和使用一個組件所應該擁有的資訊。


上一篇
SOLID設計原則 – 里氏替換原則
下一篇
Search and Sort
系列文
寫寫歷年職場經歷過的大小事或近期所學習的知識啟發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言